﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Prob_Distributions_ClassLibrary;

namespace colas
{
    public partial class Form1 : Form
    {
        Colas cola;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            //Inicializo objeto Colas

            cola = new Colas(txtHoraDesde.Text, txtHoraHasta.Text, txtPromedio.Text, txtDesviacionEstandar.Text, txtTCompraTicket.Text, txtTEntregaPedido.Text, txtTiempoConsumicion.Text, txtAdicionalesConsumicion.Value.ToString(), txtTUtilizacionMesa.Text, txtAdicionalesUtilizacion.Value.ToString(), txtH.Text, txtK.Text, dgColas);
            cola.calcularTiemposEspera();            
            double promedio = cola.generarSimulacion();
            txtPromedio_permanencia.Text = promedio.ToString();
            //cargarTabla();
            this.Cursor = Cursors.Default;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txtHoraDesde.Text = new DateTime().AddHours(12).AddMinutes(30).ToShortTimeString();
            txtHoraHasta.Text = new DateTime().AddHours(12).AddMinutes(45).ToShortTimeString();
            txtPromedio.Text = "20";
            txtDesviacionEstandar.Text = "2";
            txtTCompraTicket.Text = "20";
            txtTEntregaPedido.Text = "50";
            txtTiempoConsumicion.Text = "5";
            txtAdicionalesConsumicion.Value = 1;
            txtTUtilizacionMesa.Text = "15";
            txtAdicionalesUtilizacion.Value = 5;
            txtK.Text = "11";
            txtH.Text = "0" + Prob_Distributions_ClassLibrary.Utils.coma + "05"; //0,05 para cualquier configuracion regional
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (cola == null)
            {
                cola = new Colas(txtHoraDesde.Text, txtHoraHasta.Text, txtPromedio.Text, txtDesviacionEstandar.Text, txtTCompraTicket.Text, txtTEntregaPedido.Text, txtTiempoConsumicion.Text, txtAdicionalesConsumicion.Value.ToString(), txtTUtilizacionMesa.Text, txtAdicionalesUtilizacion.Value.ToString(), txtH.Text, txtK.Text, dgColas);
                cola.calcularTiemposEspera();
            }
            
            cola.proximaLinea();
            this.Cursor = Cursors.Default;
        }
    }
}
